package com.prince.web.service;

import java.util.List;
import java.util.Map;

import com.prince.model.Config;
import com.prince.page.Page;

/**
 * @author lenovo
 *
 */
/**
 * @author lenovo
 *
 */
public interface ConfigService {

	/**查询常量
	 * @param paramMap
	 * @param page
	 * @return
	 */
	Map<String, Object> findConfigByPage(Map<String, Object> paramMap, Page page);

	/**添加常量
	 * @param config
	 * @return
	 */
	Map<String, Object> addConfig(Config config);

	/**删除常量
	 * @param config
	 * @return
	 */
	Map<String, Object> delConfig(Config config);

	/**更新常量
	 * @param config
	 * @return
	 */
	Map<String, Object> updateConfig(Config config);

	/**条件查询常量
	 * @param config
	 * @return
	 */
	Map<String, Object> findConfigByCondition(Config config);

	/**模糊查询常量
	 * @param config
	 * @return
	 */
	Map<String, Object> dqueryConfig(Config config);

	/**缓存查询所有常量
	 * @return
	 */
	Map<String, Object> findConfigListAndMap();
	
	/**缓存查询所有常量并获取
	 * @return
	 */
	Map<String, Object> getConfigMap();

	/**根据名称查询常量
	 * @param name
	 * @return
	 */
	Config findConfigName(String name);
 
	/**根据brandUrl名称查询常量
	 * @return
	 */
	Map<String, Object> getConfigBywechat();
	
	/**根据名称查询常量
	 * @param name
	 * @return
	 */
	Map<String, Object> getConfigByName(String name);

	/**
	 * 通过常量类型获取常量并封装到Map里
	 * 
	 * @param type
	 * @param map
	 * @return
	 */
	List<Config> getConfigMapByType(String type, @SuppressWarnings("rawtypes") Map map);

	
	
	/**
	 * 
	 * 根据类型查询
	 * @param type
	 * @return
	 */
	Map<String, Object> findConfigByType(String type);

	/**
	 * 通过key查询
	 * @param name
	 * @return
	 */
	String findConfigByKey(String name, String defaultValue);
}
